package com.yj;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.concurrent.atomic.AtomicInteger;

@Component
public class JobDemo {
    private Logger logger = LoggerFactory.getLogger(getClass());

    private final AtomicInteger counts = new AtomicInteger();

    @Scheduled(fixedDelay = 5000)//间隔时间毫秒，以调用完成时间开始计算
    public void job1() {
        logger.info("[job1][定时第 ({}) 次执行]", counts.incrementAndGet());
    }

    @Scheduled(fixedRate = 5000)//间隔时间毫秒，以调用开始时间开始计算
    public void job2() {
        logger.info("[job2][定时第 ({}) 次执行]", counts.incrementAndGet());
    }

    @Scheduled(cron = "0/5 * * * * ?")//cron表达式，秒 分 时 日 月 周，以调用完成时间开始计算
    public void job3() {
        logger.info("[job3][定时第 ({}) 次执行]", counts.incrementAndGet());
    }
}
